package com.abc.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * 聊天记忆配置类
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "chat.memory")
public class ChatMemoryConfig {

    /**
     * Redis缓存最大轮数（每轮包含用户和助手消息）
     * 默认10轮，即最多缓存20条消息
     */
    private Integer maxRounds = 10;

    /**
     * Redis缓存过期时间（天）
     * 默认7天
     */
    private Integer cacheExpireDays = 7;


    /**
     * Redis缓存key的前缀
     * 默认chat:memory:用户名称:sessionId
     */
    private String prefix = "chat:memory:%s:%s";


    /**
     * 获取最大消息数（轮数 * 2）
     *
     * @return 最大消息数
     */
    public Integer getMaxMessages() {
        return maxRounds * 2;
    }


}
